package apoc.core.plugin;

import apoc.core.client.gui.hud.OverlayHandler;
import apoc.core.core.handler.TickHandler;
import apoc.core.entity.ApocPlayerProperties;
import apoc.core.entity.PlayerProperties;
import apoc.core.network.PacketPipeline;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;

/*
    Abstract class for Plugins. Extend this class, and use these methods to load stuff.
 */
public abstract class ApocPlugin
{
    public abstract String getId();

    public abstract void preInit(TickHandler tickHandler, FMLPreInitializationEvent event);

    public abstract void init(PacketPipeline pipeline, FMLInitializationEvent event);

    public abstract void postInit(FMLPostInitializationEvent event);

    public void registerHUD(OverlayHandler handler)
    {

    }

    public PlayerProperties getPlayerProperties(ApocPlayerProperties parent)
    {
        return null;
    }
}
